import pandas as pd
class TestClass:
    def __init__(self):
        self.tables = []

    def createData(self):
        # for i in range(10):
        self.tables.append({
            "c_hospital_name": "zhangsan",
            "c_province": 18,
            "c_city": 18,
            "c_area": 18,
            "createYear": 18,
            "c_level_one": 18,
            "c_level_two": 18,
            'xzdj': None,
            "n_type": 18,
            "n_ownership_type": 18,
            "n_medicine_insurance": 60,
            "c_legel_person": 18,
            "c_dean": None,
            "c_phone": 18,
            "c_address": 18,
            "c_introduction": 18,
            "c_remark": 18,

        });
        # self.tables.append({"name": "lisi", "age": 19});
        # self.tables.append({"name": "wangwu", "age": 20});
        # self.tables.append({"name": "zhaoliu", "age": 21});

    def writeExcel(self):
        print(self.tables)
        # 将字典列表转换为DataFrame
        pf = pd.DataFrame(list(self.tables))
        # 指定字段顺序
        order = [
            'c_hospital_name', 'c_province', 'c_city', 'c_area', 'createYear', 'c_level_one', 'c_level_two', 'xzdj',
            'n_type',
            'n_medicine_insurance', 'n_ownership_type', 'c_legel_person', 'c_dean', 'c_phone', 'c_address',
            'c_introduction',
            'c_remark'
        ]
        pf = pf[order]
        # 将列名替换为中文
        columns_map = {
            'c_hospital_name': '医院名称',
            'c_province': '省',
            'c_city': '市',
            'c_area': '区',
            'createYear': '成立时间',
            'c_level_one': '医院等级一',
            'c_level_two': '医院等级二',
            'xzdj': "行政等级",  # 字典中没有这个
            'n_type': '医院类型',
            'n_medicine_insurance': '医保定点',
            'n_ownership_type': '所有制类型',
            'c_legel_person': '法人',  # 字典中没有这个
            'c_dean': '院长',
            'c_phone': '办公电话',
            'c_address': '详细地址',
            'c_introduction': '简介',
            'c_remark': '备注',  # 字典中没有这个
        }
        pf.rename(columns=columns_map, inplace=True)
        # 指定生成的Excel表格名称
        file_path = pd.ExcelWriter('hospital.xlsx')
        # 替换空单元格
        pf.fillna(' ', inplace=True)
        # 输出
        pf.to_excel(file_path, encoding='utf-8', index=False)
        # 保存表格
        file_path.save()

if __name__ == '__main__':
    test = TestClass()
    test.createData()
    print("数据创建完成，开始打印数据>>>>>")
    test.writeExcel()
